FLUTE is a project managed under the control of the Internet Engineering Task Force (IETF). FLUTE defines a protocol for the unidirectional delivery of files over the Internet. The protocol is particularly suited to multicast networks, although the techniques are similarly applicable for use with unicast addressing. The FLUTE specification builds on Asynchronous Layered Coding (ALC), the base protocol designed for massively scalable multicast distribution. ALC defines transport of arbitrary binary objects, and is laid out in Luby, M., Gemmell, J., Vicisano, L., Rizzo, L. and J. Crowcroft, “Asynchronous Layered Coding (ALC) Protocol Instantiation”, RFC 3450, December 2002. For file delivery applications, the mere transport of objects is not enough. The end systems need to know what do the objects actually represent. FLUTE provides a mechanism for signalling and mapping the properties of files to concepts of ALC in a way that allows receivers to assign those parameters for received objects. In FLUTE, ‘file’ relates to an ‘object’ as discussed in the above-mentioned ALC paper.
In a FLUTE file delivery session, there is a sender, which sends the session, and a number of receivers, which receive the session. A receiver may join a session at an arbitrary time. The session delivers one or more abstract objects, such as files. The number of files may vary. Any file may be sent using more than one packet. Any packet sent in the session may be lost.
FLUTE has the potential be used for delivery of any file kind and any file size.
FLUTE is applicable to the delivery of files to many hosts, using delivery sessions of several seconds or mote. For instance, FLUTE could be used for the delivery of large software updates to many hosts simultaneously. It could also be used for continuous, but segmented, data such as time-lined text for subtitling, thereby using its layering nature inherited from ALC and LCT to scale the richness of the session to the congestion status of the network. It is also suitable for the basic transport of metadata, for example SDP files which enable user applications to access multimedia sessions. It can be used with radio broadcast systems, as is expected to be particularly used in relation to IPDC (Internet Protocol Datacast) over DVB-H (Digital Video Broadcast-Handheld), for which standards currently are being developed.
FLUTE does not allow a receiver to determine how long it needs to stay on a channel for, in order to fulfil the purpose of the session set by the sender. Thus a receiver cannot know when it has received an entire filecast. FLUTE also does not define the semantics of the session to a receiver. FLUTE uses static and well-defined file delivery sessions, i.e. each file delivery session delivers a fixed set of files, and the files cannot change during the session.
The present invention seeks to overcome these deficiencies, but also has broader applicability in so far as it relates to any file delivery.